#include "include.h" //包含所有头文件

const uint8_t *bt_rf_get_param(void)//8位无符号整形形参
{
    if(xcfg_cb.bt_rf_param_en) //RF：Redio Frequnence 射频
        {
        return (const uint8_t *)&xcfg_cb.rf_pa_gain;
        } else {
        if (bt_get_ft_trim_value(&xcfg_cb.rf_pa_gain)) {
            xcfg_cb.rf_mix_cap = xcfg_cb.bt_rf_mix_cap;     //ft trim参数可以调MIX_CAP
            return (const uint8_t *)&xcfg_cb.rf_pa_gain;
        }
    }
    return NULL;
}

//调试时才打开，否则异常时无法复位
//void sys_error_hook_do(u8 err_no);
//AT(.com_text.err)
//void sys_error_hook(u8 err_no)
//{
//    sys_error_hook_do(err_no);
//}

//正常启动Main函数
int main(void)
{
    u32 lvdcon = LVDCON;
    printf("Hello BT892XA2: %x\n", lvdcon);
    // if(lvdcon & BIT(18)) {
    //     printf("WKO reset\n");
    // } else if(lvdcon & BIT(17)) {
    //     printf("VUSB reset\n");
    // } else if(lvdcon & BIT(16)) {
    //     printf("WDT reset\n");
    // } else if(lvdcon & 0xf00) {
    //     printf("SW reset\n");
    // }
    bsp_sys_init();
    GPIOAFEN &= ~BIT(5);
    GPIOADE  |= BIT(5);
    GPIOADIR &= ~BIT(5);
    GPIOASET = BIT(5);
    mpu6050_init();
    float a = 5.0;
    float b = 2.0;
    float c = a / b;
    printf("c = %f\n",c);
    WDT_DIS();
    func_run();
    return 0;//remake
}

//升级完成
void update_complete(int mode)
{
    bsp_update_init();
    if (mode == 0) {
        WDT_DIS();
        while (1);
    }
    WDT_RST();
}
